﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.ObjectModel;

namespace TimeSheet.UI.Data
{
    /// <summary>
    /// Main class to manage all data
    /// </summary>
    public class Factory
    {

        /// <summary>
        /// Initialize a new instance of the Factory Manager
        /// </summary>
        public Factory()
        {
            this.Categories = new ObservableCollection<Category>();

            this.Categories.Add(new Category() { Name = "Categorie 1" });
            this.Categories[0].Projects.Add(new Project() { Name = "Project 1.1", Reference = "Reference 1.1" });
            this.Categories[0].Projects.Add(new Project() { Name = "Project 1.2", Reference = "Reference 1.2" });

            this.Categories.Add(new Category() { Name = "Categorie 2" });
            this.Categories[1].Projects.Add(new Project() { Name = "Project 2.1", Reference = "Reference 2.1" });
            this.Categories[1].Projects.Add(new Project() { Name = "Project 2.2", Reference = "Reference 2.2" });
        }
        
        /// <summary>
        /// Gets or sets all categories and all associated projects
        /// </summary>
        public ObservableCollection<Category> Categories { get; private set; }
    }
}
